01. Project Overview

Project Overview

In this project, you’ll combine your knowledge of computer vision techniques and deep learning architectures to build a facial keypoint detection system that takes in any image with faces, and predicts the location of 68 distinguishing keypoints on each face!

Facial keypoints include points around the eyes, nose, and mouth on a face and are used in many applications. These applications include: facial tracking, facial pose recognition, facial filters, and emotion recognition. Your completed code should be able to look at any image, detect faces, and predict the locations of facial keypoints on each face. Some examples of these keypoints are pictured below.

Facial keypoints displayed on two images, each of which contains a single face.

Facial keypoints displayed on two images, each of which contains a single face.

Project Instructions

The project will be broken up into a few main parts in four Python notebooks, only Notebooks 2 and 3 (and the models.py file) will be graded:

Notebook 1 : Loading and Visualizing the Facial Keypoint Data

Notebook 2 : Defining and Training a Convolutional Neural Network (CNN) to Predict Facial Keypoints

Notebook 3 : Facial Keypoint Detection Using Haar Cascades and your Trained CNN

Notebook 4 : Fun Filters and Keypoint Uses

You can find these notebooks in the Udacity workspace that appears in the concept titled Project: Facial Keypoint Detection. This workspace provides a Jupyter notebook server directly in your browser.

Note: This project does not require the use of GPU, so this project does not include instructions for GPU setup.


You can also choose to complete this project in your own local repository (and may use GPU, there), and you can find all of the project files in this GitHub repository. Note that while you are allowed to complete this project on your local computer, you are strongly encouraged to complete the project from the workspace.

Note: There is a final, 5th notebook that is there to guide you once you are ready to submit your project!

Evaluation

Your project will be reviewed by a Udacity reviewer against the Facial Keypoint Detection project rubric. Review this rubric thoroughly, and self-evaluate your project before submission. All criteria found in the rubric must meet specifications for you to pass.

Ready to submit your project?

Zipping project files, manually

There are instructions in a 5th, final notebook, for compressing your project and work into a zip file, which you can download and submit. This is the recommended submission approach.

Once you've completed your project, at the end of this lesson you'll see a "Submit Project" button; click it and follow the instructions to submit!


If you decide to submit directly from the workspace please make sure:

  1. You do not have any image files in your Jupyter notebook home directory
  2. You have deleted any large model checkpoints in the home directory

When workspaces are submitted, everything in the home directory is compressed and submitted in a zip file. Deleting large files that are not graded, will make sure that your submission will not be too large!

The Workspace

Next, you'll load the project workspace and follow detailed instructions there to complete this project! The workspace may take a minute or two to load the facial image/keypoint data.

If you want to ask questions about this project or share advice, post in the Study Groups or Knowledge.